package os.kernelProcess;

import os.MiniProcess;
import os.MiniThread;

/**
 * OS process. It contains the scheduler thread and the process monitor thread.
 * 
 * @author Ahmed El-Eryan
 * 
 */
public class KernelProcess extends MiniProcess
{

	/**
	 * Constructor for the Kernel Process.
	 * 
	 * @param user
	 *            Kernel user.
	 * @param pid
	 *            Pid of the Kernel Process. Typically 0.
	 */
	public KernelProcess(String user, String pid)
	{
		super(user, pid);
		name = "Kernel Process";
		description = "Performs the main OS tasks like scheduling";
	}

	/**
	 * It doesn't create a main thread because the OS creates the Scheduler and
	 * Process Monitor threads and attaches them to it.
	 */
	@Override
	protected MiniThread createMainThread(String[] consoleArguments)
	{
		return null;
	}

}
